ESP32 使用 Jlink 进行 JTAG 调试的流程 | 您所在的位置:网站首页 › esp 有用吗 › ESP32 使用 Jlink 进行 JTAG 调试的流程 |
这篇教程用来带领实现 Ubuntu/Linux 下 ESP32 使用 Jlink 进行 JTAG 调试。分为如下几步: 1. 安装 OpenOCD如果你已经按照 esp-idf 快速入门 一文中的介绍安装好了 ESP-IDF 及其 CMake 构建系统,那么 OpenOCD 已经被默认安装到了你的开发系统中。在 设置开发环境 结束后,你应该能够在终端中运行如下 OpenOCD 命令: openocd --version终端会输出以下信息(实际版本号可能会比这里列出的更新): Open On-Chip Debugger v0.10.0-esp32-20190708 (2019-07-08-11:04) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html 2. Jlink 连线以下是 Jlink 上的 JTAG 接口对应的引脚图: 上图的左侧那排引脚对应着 Jlink的正面(有 Jlink logo 那一面)。 你需要按如下表格连接 Jlink 与 ESP32: 序号 ESP32 引脚 JTAG 信号 1 CHIP_PU TRST_N 2 MTDO / GPIO15 TDO 3 MTDI / GPIO12 TDI 4 MTCK / GPIO13 TCK 5 MTMS / GPIO14 TMS 6 GND GND注:序号 1 可以不接。 具体的接法如下图: 上图的左侧那排引脚对应着 Jlink的正面(有 Jlink logo 那一面)。 其他硬件连线部分就按正常 ESP32 编译烧写运行所需的连线接好即可,同时 Jlink 另一端也需要通过 USB 连接到电脑。 3. 配置并运行 OpenOCD 3.1 进入 openocd-esp32 目录首先你需要在终端里进入到 openocd-esp32 目录: cd ~/esp/openocd-esp32/v0.10.0-esp32-20200406/openocd-esp32上述 openocd-esp32 目录请按照自己的 openocd-esp32 目录调整。 3.2 查看 openocd-esp32 版本然后你需要查看 openocd-esp32 版本,一般已经标注在对应的文件夹上,比如 /esp/openocd-esp32/v0.10.0-esp32-20200406。如果是 2019 及以前版本,请忽略此步并直接跳转至 3.3 运行 openocd-esp32。如果是 2020 及以后版本,需要执行以下操作: 进入 openocd-esp32的以下目录:/esp/openocd-esp32/v0.10.0-esp32-20200309/openocd-esp32/share/openocd/scripts/interface,在 interface 文件夹中找到 jlink.cfg 并打开 在 jlink.cfg 中添加 adapter_khz 9600,然后保存文件并关闭(如果不添加,会在后续运行 openocd 指令时报错)添加 adapter_khz 9600 后的 jlink.cfg 应如下: # # SEGGER J-Link # # http://www.segger.com/jlink.html # interface jlink adapter_khz 9600 # The serial number can be used to select a specific device in case more than # one is connected to the host. # # Example: Select J-Link with serial number 123456789 # # jlink serial 123456789 3.3 运行 openocd-esp32最后你只需要使用如下指令运行 openocd-esp32,此处确保 Jlink 已按上述硬件配置连接,同时确保 2020 版本已进行 3.2 查看 openocd-esp32 版本中的配置。 cd ~/esp/openocd-esp32/v0.10.0-esp32-20200406/openocd-esp32 ./bin/openocd -s share/openocd/scripts -f interface/jlink.cfg \ -f board/esp-wroom-32.cfg特别注意:上述指令中第二行和第三行请一并粘贴进入终端,因为单行指令太长,直接转成 PDF 会出现不必要的错误(使用 \ + 回车进行了指令换行)。 上述 openocd-esp32 目录请按照自己的 openocd-esp32 目录调整。上述 -f board/esp-wroom-32 |
CopyRight 2018-2019 实验室设备网 版权所有 |